DERS TANITIM BİLGİLERİ


Dersin Adı
İleri Algoritmalar
Kodu
Yarıyıl
Teori
(saat/hafta)
Uygulama/Lab
(saat/hafta)
Yerel Kredi
AKTS
CE 601
Güz/Bahar
3
0
3
7.5
Ön-Koşul(lar)
Yok
Dersin Dili
İngilizce
Dersin Türü
Seçmeli
Dersin Düzeyi
Doktora
Dersin Veriliş Şekli -
Dersin Öğretim Yöntem ve Teknikleri
Dersin Koordinatörü
Öğretim Eleman(lar)ı
Yardımcı(ları) -
Dersin Amacı Bu dersin amacı algoritma analizi ve tasarım konularının, kapsamlı ve detaylı bir şekilde çalışılmasıdır. İşlemci hızından kaynaklanan iyileştirmelerin artık sonuna geldiğimiz gözönünde bulundurularak, artan veri işleme talepleri için, ders, hem endüstri hem de araştırma tabanlı kullanımlarda makul performans seviyeleri içerisinde çalışabilecek önde gelen algoritma ve ilintili veri yapılarının tartışılmasını amaçlar.
Öğrenme Çıktıları Bu dersi başarıyla tamamlayabilen öğrenciler;
  • algoritmaların zaman ve hafıza karmaşıklıklarını analiz ederken Master Teorem’i kullanır.
  • rastsal algoritmaları kullanabilir.
  • hesaplama problemlerini çözmek için gerekli gelişmiş veri yapılarını tasarlar ve uygular.
  • hesaplama problemlerini çözmek için verimli algoritmalar tasarlama kabiliyetine sahip olur.
  • algoritma portföylerinde, çok daha farklı problemleri çözmelerini sağlayacak çok daha fazla algoritmik çözüme sahip olacaktır.
  • optimizasyon problemlerini dinamik programlama yöntemleri ile çözer.
  • harcanan zaman ve çözümün optimalliği arasında değerlendirme yaparak, en optimali bulmak mümkün değilse, yaklaşık algoritmalar tasarlar.
Ders Tanımı Ders yinelemeli ilişkilerin çözümü için master teoremi, algoritmalar için rastsal analiz ile amortisman analizini, dinamik programlama, böl/yönet ve açgözlü algoritma geliştirme stratejilerini ile yakınlaşık algoritmaları kapsar.
Dersin İlişkili Olduğu Sürdürülebilir Kalkınma Amaçları

 



Dersin Kategorisi

Temel Ders
Uzmanlık/Alan Dersleri
Destek Dersleri
İletişim ve Yönetim Becerileri Dersleri
Aktarılabilir Beceri Dersleri

 

HAFTALIK KONULAR VE İLGİLİ ÖN HAZIRLIK ÇALIŞMALARI

Hafta Konular Ön Hazırlık
1 The Role of Algorithms in Computing, Growth of Functions T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3/e, The MIT Press, 2009 (Ch. 1, 2, 3)
2 Recurrences, Master Theorem T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3/e, The MIT Press, 2009 (Ch. 4)
3 Probabilistic Analysis and Randomized Algorithms T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3/e, The MIT Press, 2009 (Ch. 5)
4 Medians and Order Statistics T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3/e, The MIT Press, 2009 (Ch. 9)
5 Red-Black Trees T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3/e, The MIT Press, 2009 (Ch. 13)
6 Augmenting Data Structures T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3/e, The MIT Press, 2009 (Ch. 14)
7 Dynamic Programming T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3/e, The MIT Press, 2009 (Ch. 15)
8 Greedy Algorithms T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3/e, The MIT Press, 2009 (Ch. 16)
9 Amortized Analysis T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3/e, The MIT Press, 2009 (Ch. 17)
10 Number-Theoretic Algorithms T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3/e, The MIT Press, 2009 (Ch. 31)
11 String Matching T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3/e, The MIT Press, 2009 (Ch. 32)
12 NP-Completeness T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3/e, The MIT Press, 2009 (Ch. 34)
13 Approximation Algorithms T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3/e, The MIT Press, 2009 (Ch. 35)
14 Learning Algorithms, Decision Tree Learning
15 Dönemin gözden geçirilmesi
16 -
Ders Kitabı Yukarıda belirtilen kitap ve ders yansıları
Önerilen Okumalar/Materyaller İlgili Araştırma Makaleleri

 

DEĞERLENDİRME ÖLÇÜTLERİ

Yarıyıl Aktiviteleri Sayı Katkı Payı %
Katılım
Laboratuvar / Uygulama
Arazi Çalışması
Küçük Sınav / Stüdyo Kritiği
Portfolyo
Ödev
Sunum / Jüri Önünde Sunum
Proje
Seminer/Çalıştay
Sözlü Sınav
Ara Sınav
2
50
Final Sınavı
1
50
Toplam

Yarıyıl İçi Aktivitelerin Başarı Notuna Katkısı
50
Yarıyıl Sonu Aktivitelerin Başarı Notuna Katkısı
50
Toplam

AKTS / İŞ YÜKÜ TABLOSU

Yarıyıl Aktiviteleri Sayı Süre (Saat) İş Yükü
Teorik Ders Saati
(Sınav haftası dahildir: 16 x teorik ders saati)
16
3
48
Laboratuvar / Uygulama Ders Saati
(Sınav haftası dahildir. 16 x uygulama/lab ders saati)
16
Sınıf Dışı Ders Çalışması
15
6
90
Arazi Çalışması
Küçük Sınav / Stüdyo Kritiği
Portfolyo
Ödev
Sunum / Jüri Önünde Sunum
Proje
Seminer/Çalıştay
Sözlü Sınav
Ara Sınavlar
2
25
Final Sınavı
1
37
    Toplam
225

 

DERSİN ÖĞRENME ÇIKTILARININ PROGRAM YETERLİLİKLERİ İLE İLİŞKİSİ

#
Program Yeterlilikleri / Çıktıları
* Katkı Düzeyi
1
2
3
4
5
1 Bilgisayar Mühendisliği alanında bilimsel araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşır, bilgiyi değerlendirir, yorumlar ve uygular. X
2 Bilgisayar Mühendisliği alanında uygulanan güncel teknik ve yöntemler ile bunların kısıtları hakkında kapsamlı bilgi sahibidir. X
3 Belirsiz, sınırlı ya da eksik verileri kullanarak, bilimsel yöntemlerle bilgiyi tamamlar ve uygular, değişik disiplinlere ait bilgileri bir arada kullanabilir. X
4 Mesleğinin yeni ve gelişmekte olan uygulamalarının farkındadır, ihtiyaç duyduğunda bunları inceler ve öğrenir. X
5 Bilgisayar Mühendisliği alanı ile ilgili problemleri tanımlar ve formüle eder, çözmek için yöntem geliştirir ve çözümlerde yenilikçi yöntemler uygular. X
6 Yeni ve/veya özgün fikir ve yöntemler geliştirir, karmaşık sistem veya süreçleri tasarlar ve tasarımlarında yenilikçi/alternatif çözümler geliştirir. X
7 Kuramsal, deneysel ve modelleme esaslı araştırmaları tasarlar ve uygular, bu süreçte karşılaşılan karmaşık problemleri irdeler ve çözümler. X
8 Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilir, bu tür takımlarda liderlik yapabilir ve karmaşık durumlarda çözüm yaklaşımları geliştirebilir, bağımsız çalışabilir ve sorumluluk alır. X
9 Bir yabancı dili en az Avrupa Dil Portföyü B2 Genel Düzeyinde kullanarak, sözlü ve yazılı iletişim kurar. X
10 Çalışmalarının süreç ve sonuçlarını, o alandaki veya alan dışındaki ulusal ve uluslararası ortamlarda sistematik ve açık bir şekilde yazılı ya da sözlü olarak aktarır. X
11 Bilgisayar Mühendisliği uygulamalarının sosyal, çevresel, sağlık, güvenlik, hukuk boyutları ile proje yönetimi ve iş hayatı uygulamalarını bilir ve bunların bilgisayar mühendisliği uygulamalarına getirdiği kısıtların farkındadır. X
12 Verilerin toplanması, yorumlanması, duyurulması aşamalarında ve mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetir. X

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest